1. Field of the Invention
The present invention relates generally to telecommunications systems. More particularly, the present invention relates to an advanced intelligent network system providing enhanced Internet service connections.
2. Background of the Invention
Over the last ten years, use of the Internet has grown rapidly. A large segment of this growth stems from an increase in individual dial-up subscribers. These dial-up subscribers use the public switched telephone network (xe2x80x9cPSTNxe2x80x9d) to establish connections to their Internet Service Providers (xe2x80x9cISPsxe2x80x9d). FIG. 1 is a schematic diagram illustrating how these dial-up subscribers, or users, connect to their ISPs using PSTN 10. To support multiple connections, ISPs must maintain numerous telephone lines connected to modems. Rather than advertising a different telephone number for each telephone line, ISPs generally advertise a limited number of telephone access numbers. Each telephone access number corresponds to one or more telephone lines. These telephone lines may be made up of, e.g., individual plain old telephone service (xe2x80x9cPOTSxe2x80x9d) lines, one or more T1 lines, or Primary Rate Integrated Services Digital Network (xe2x80x9cPRIxe2x80x9d) lines. For simplicity, the figures and discussion herein show the connection to be made up of PRI lines 21, as shown in FIG. 1.
PRI lines 21 lead to ISP 20 where they are connected to multi-line hunt group (xe2x80x9cMLHGxe2x80x9d) 22 as shown in FIG. 1. MLHG 22 is a modem pool allowing multiple simultaneous connections and is controlled by access server 23. MLHG 22 takes incoming subscriber calls and routes them to the first open modem in the modem pool. When caller 30 dials the telephone access number for ISP 20 (using computer 31, modem 32 and subscriber line 33), PSTN 10 processes the call like any other call. That is, the call is routed between caller 30 and the called party (in this case, ISP 20) through one or more switches. If the ISP""s lines are all busy, or xe2x80x9coff-hook,xe2x80x9d i.e., there are no voice communication paths available, the caller gets a busy signal, which is provided by PSTN 10. On the other hand, if lines are available, the ISP""s switch terminates the call and it is the ISP""s responsibility to answer the call, verify the user authorization to access the ISP""s system, and set up the caller""s connection to the Internet.
When a call reaches ISP 20 via PRI lines 21 and MLHG 22, access server 23 answers the call and determines whether the caller is a valid ISP subscriber. If the caller is a valid subscriber, then access server 23 must determine which services the caller should have access to. Access server 23 queries caller 30 for information such as a username and password for use in validating caller 30 and determining caller 30""s authorized services. The dialog between caller 30 and access server 23 is usually performed automatically between access server 23 and communications software operating on computer 31.
Generally, ISPs use centralized servers to store and manage their subscriber databases. Remote Authentication Dial-In User Service (xe2x80x9cRADIUSxe2x80x9d) server 24, having database 24a, shown in FIG. 1, is functionally connected to access server 23 and provides this centralized management. Thus, access server 23 collects username and password information from caller 30 and passes it on to RADIUS server 24. After RADIUS server 24 verifies caller 30""s username and password, it provides access server 23 with configuration information specific to caller 30. Access server 23 uses the configuration information to provide the authorized services to caller 30. Access servers and RADIUS servers are described in more detail in commonly assigned U.S. patent application, Ser. No. 09/133,299, which is incorporated herein by reference in its entirety. Additional information on access servers and RADIUS servers may be found in Rigney et al., Remote Authentication Dial-In User Service (RADIUS), Network Working Group, January 1997, or in Rigney et al., RADIUS Accounting, Network Working Group, April 1997.
It is well known in the art that not all subscribers connect to their ISPs at the same time. Additionally, not all subscribers connect every day, nor do they connect for the same length of time each session. For this reason, it is not practical or realistic for ISPs to provide a 1:1 ratio of lines to subscribers. ISPs must pay their local telephone service providers for each telephone line maintained. Instead, ISPs have developed formulas to determine the appropriate number of telephone lines required. In general, a telephone line to user ratio of at least 1:10 provides an acceptable level of service. However, as Internet usage continues to grow, it is becoming more difficult to predict the telephone line requirements for an ISP.
In the conventional system described above, all callers are given equal priority within telephone network 10 and by ISP 20. That is, all calls are handled on a first-come, first-served basis. If the ISP has an open telephone line, the call is terminated and the ISP answers the call, regardless of whether or not the caller is a valid ISP subscriber. If the caller is a valid ISP subscriber, the caller gains access to the ISP""s resources. Otherwise, RADIUS server 24 instructs access server 23 to disconnect the call. On the other hand, if the ISP does not have any open telephone lines, all callers, even valid ISP subscribers, are denied access because no calls can be connected to the ISP for verification.
FIG. 2 shows Service Switching Points (xe2x80x9cSSPsxe2x80x9d) 240, 250 and 260 connected to MLHGs 222a, 222b and 222c via PRI lines 241, 251 and 261, respectively. SSP 240 hosts telephone access number 222-444-1000, SSP 250 hosts access number 222-555-1000 and SSP 260 hosts access number 222-666-1000. In conventional systems, when caller 230 attempts to connect to ISP 220 by dialing telephone access number 222-444-1000, SSP 211 sends a call setup message to SSP 240. The call setup message is transmitted via Common Channel Signaling System 7 (xe2x80x9cSS7xe2x80x9d) network 213. SSP 240 determines whether any lines are available going into MLHG 222a. If there are no lines available, i.e., all lines in PRI 241 are xe2x80x9coff-hook,xe2x80x9d caller 230 receives a busy signal.
ISP 220 has two additional telephone access numbers and corresponding MLHGs which caller 230 may use to obtain access. FIG. 2 shows each telephone access number residing on individual SSPs. However, as would be apparent to those skilled in the art, an SSP can support multiple telephone access numbers. In conventional systems, if caller 230""s initial attempt to access ISP 220 results in a failed connection, caller 230 will have to redial either the same telephone access number or one of the additional numbers. Of course, caller 230 must be aware of the additional numbers and must reconfigure the communications software on computer 231 to dial the additional numbers.
Even if caller 230 is aware of and tries the other telephone access numbers there is little assurance that a line will be available and caller 230""s efforts may be wasted. For example, suppose caller 230 makes another attempt to connect to ISP 220, this time by dialing 222-555-1000. As before, if there are no available lines going into MLHG 222b, the call is not terminated and caller 230 receives a busy signal. Even if a line is available and the call is terminated, i.e., connected, a subscriber will not have a successful connection if the ISP does not answer the call. As noted above, if the call is not successful, caller 230 will have to hang up and make another attempt to connect to the ISP. In this example, on caller 230""s third attempt, the telephone access number used is 222-666-1000. As described above, SSP 211 sends a call setup message to SSP 260. In this example, at least one voice channel is available in PRI lines 261 going into MLHG 222c. In this case, SSP 260 presents the call to the ISP. Access server 223 must answer the call and perform the user authorization functions described above.
In this example, caller 230 had to make three separate telephone calls before establishing a successful connection to the ISP. Such multiple attempts can be frustrating because of the time and effort required on the caller""s part. An automated system and method increasing a subscriber""s chances of successfully connecting to the ISP without manual intervention by the caller is desirable.
Using conventional methods, such enhanced Internet connection could be provided by allocating a special modem pool to support xe2x80x9cpremiumxe2x80x9d subscribers. Such premium subscribers could include, e.g., those subscribers willing to pay more for the enhanced service, ISP employees, or commercial subscribers having large accounts with the ISP. In this conventional method, the ISP could increase the line to user ratio from 1:10 to a ratio much closer to 1:1 for the special modem pool by controlling the number premium subscribers or by adding new modems whenever the premium subscribers outnumber the existing modem pool capacity. Thus, whenever a premium user dials the telephone access number for the special modem pool, a line should be available. However, if an entire modem pool is set aside exclusively for premium subscribers, the ISP""s resources may be underutilized. For example, many lines in the reserved modem pool may sit idle while the ISP""s other modem pools may be saturated with calls. As noted above, the cost of maintaining such resources is high, therefore efficient utilization of all modem pools is desirable. Another problem with this conventional solution, i.e., the setting aside of reserved modem pools, is that the ISP would have to develop a means to control access to the reserved pool so that only premium customers are allowed.
One conventional way to control access to the special modem pools is to keep the special access number secret and provide it only to premium subscribers. However, it is very difficult to maintain secrecy of such a xe2x80x9csecretxe2x80x9d number, and it will likely be public in a short period. Thus, the ISP would have to continually update the secret number and redistribute it to authorized premium subscribers.
Another conventional way to control access to the reserved modem pool is to implement additional user authorization and verification systems. Such systems ensure the subscriber is a valid ISP subscriber and verify that the subscriber is authorized to use the special telephone access number. If the additional authorization scheme is based on the subscriber""s username, the ISP must answer the call before it can determine whether the caller is a premium subscriber. After the ISP answers the call, the caller must transmit a username (and usually a password) to the ISP and wait for authorization by the ISP. In this system, the telephone line is tied up while the ISP determines whether to allow access to the caller through this MLHG. Alternatively, the additional authorization scheme could be based on the subscriber""s telephone number. In such a case, access server 23 is programmed to compare the caller""s Calling Party Number (CgPN) with records stored in a database (not shown) to determine whether or not the user is a premium subscriber. The ISP would then only answer the call if the CgPN was matched with a premium subscriber.
In either case, even if the calling party is a premium subscriber, the ISP cannot grant access if the call never reaches the ISP. (As will be case if all of the lines in the special MLHG are busy). Thus, even if the ISP has available lines in another MLHG, a premium subscriber will be denied access if the special MLHG is full. In this case, the call will not be terminated, and the ISP cannot redirect the call to a different MLHG. Similarly, if the caller is not a premium subscriber, the ISP can only reject the call (i.e., deny authorization, or refuse to answer the call). In this case, a xe2x80x9cregularxe2x80x9d subscriber, i.e., a non-premium valid subscriber, must redial using an unrestricted telephone access number.
There are additional problems with this type of conventional solution: (1) the ISP cannot rapidly reconfigure the modem pools to shift premium and non-premium users to underutilized MLHGs; (2) the additional cost to implement and manage such complex systems undermines the ISPs objective to minimize overhead costs; and (3) the growth of disparate modem pools is less cost effective.
The present invention is a system and method for providing subscribers with enhanced Internet service connection. The present invention utilizes an Advanced Intelligent Network (xe2x80x9cAINxe2x80x9d) to set up and manage the services as described below. AIN systems are described in U.S. Pat. Nos. 5,701,301, 5,774,533 and Bellcore Specifications TR-NWT-001284, Switching Systems Generic Requirements for AIN 0.1 and GR-1298, AINGR: Switching Systems, which are incorporated herein by reference in their entirety. FIG. 3 shows the important components of the AIN used in the present invention. FIG. 4 is a flowchart detailing the steps performed in a preferred embodiment of the present invention. The steps described herein can be performed by computer-readable program code operating on the various AIN components and other computer systems, as described below.
According to the present invention, an ISP may designate several different levels, or classes of service. For example, the ISP may offer platinum, gold, silver and bronze services. The present invention marks calls to the ISP according to the caller""s class of service (xe2x80x9cCOSxe2x80x9d). This COS marker distinguishes calls initiated by users in one class from calls initiated by users in another class. Such differentiation of calls provides two levels of enhanced ISP connections. The telephone service provider (xe2x80x9ctelcoxe2x80x9d) can use the COS to determine the best route for each individual call. The telco makes this determination using a COS routing scheme provided by the ISP. In a preferred embodiment, the COS scheme is an ordered list indicating the ISP""s priorities for serving subscribers in the various classes. Once a call has been routed to the ISP, the ISP can determine the COS prior to answering the call and can make a business decision whether or not the call should be answered.
Preferably, the present invention is implemented as an AIN service application. At least one telephone access number assigned to an ISP is provisioned with a suitable AIN trigger on a switch. The telephone access number(s) is/are known and available to all of the ISP""s subscribers. When a subscriber calls such a xe2x80x9cpublicxe2x80x9d telephone access number, the trigger is activated and the call is suspended while a database query is processed by a Service Control Point (xe2x80x9cSCPxe2x80x9d). The SCP uses the subscriber""s telephone number (i.e., calling party number (xe2x80x9cCgPNxe2x80x9d)) and the ISP""s telephone number (i.e., called party number (xe2x80x9cCdPNxe2x80x9d)) to determine the COS for the call. The SCP marks the call with a COS marker and a route counter as described below. After marking the call, the SCP changes the CdPN to a xe2x80x9cprivatexe2x80x9d telephone access number determined according to the route counter and COS.
Call processing continues using the new calling parameters, including the COS marker. Because the ISP is connected to the telco""s switches via PRI lines, signaling traffic is transmitted to the ISP on a separate signaling channel. Thus, the COS marker is made available when the call is presented to the ISP. If call is not terminated, i.e., not answered or rejected due to lack of facilities, the call is again suspended while another database query is processed. Unlike conventional systems, the caller does not automatically receive a busy signal if the first telephone access number is busy. Instead, all other telephone access numbers available for the class of service are tried.
As noted above, once the call is presented, the ISP may choose not to answer the call based on the COS marker. The ISP may have a pre-set threshold of users from each class or may dynamically allocate slots for each class depending on the overall load on the ISP""s resources. For example, suppose an ISP provides Class A, Class B and Class C service to it subscribers. In this example, the ISP maintains three different MLHGs (MLHG1, MLHG2 and MLHG3), each supporting 100 simultaneous calls. Each MLHG is assigned a xe2x80x9cprivatexe2x80x9d telephone access number, i.e., the telephone access numbers will not be used by subscribers for direct dial-access to the ISP. Further, under the ISP""s COS scheme Class A users will be routed to the MLHGs in the following order: MLHG1, MLHG2 then MLHG3. Similarly, Class B users will be connected to MLHG1, MLHG2 then MLHG3. Class C users will be connected only to MLHG3. As will be apparent in the following description, although Class A and Class B users have identical priority schemes, the ISP can use the class of service to determine whether the call should be answered.
In a preferred embodiment, the SCP tags the call by appending a COS marker and a route counter to the beginning of the CgPN field. The route counter identifies which private telephone access number is used in the call setup message as described below. Because the COS marker is appended to the CgPN field, the ISP can identify the COS without actually answering the call. The ISP""s access server uses the COS to decide whether the call will be answered.
If the switch offers the call to the modem pool, and it is rejected for lack of facilities, the SSP suspends the call and queries the SCP for additional routing instructions. The SCP retrieves the COS marker and the route counter from the CgPN field and looks up the next private telephone access number based on the subscriber""s COS and current route counter. In a preferred embodiment, the route counter tracks the telephone access numbers by counting the position in the ordered list in the COS scheme. In this embodiment, if the route counter is greater than the number of telephone access numbers listed for that particular COS, the subscriber receives a busy signal because all routes have been exhausted.
Thus, the present invention provides enhanced connection to an ISP by allowing subscribers to dial a single telephone access number for reaching the ISP. The invention further provides enhanced connection management for the ISP operator enabling it to dynamically accept or reject subscribers on a class basis to balance the load. For example, in the system described above, if 40 of the available 100 lines into MLHG1 are currently being used by Class A subscribers, and 50 lines are being used by Class B subscribers, the ISP may decide to reject all future Class B subscribers accessing MLHG1 thereby leaving more slots in MLHG1 for the higher premium Class A users. If the ISP does not answer the call, the next route in the subscriber""s COS scheme is checked. Thus, even if the ISP rejects a Class B subscriber on one route, the call does not immediately result in a failed connection. If all lines in MLHG1 are busy, Class A users will next try MLHG2, if available, then MLHG3. Class A users will receive a busy signal only after every avenue of access has been exhausted. In contrast, a regular (or in this case, Class C) user will receive a busy signal after trying only MLHG3.
It is an object of the present invention to provide enhanced connection services for subscribers of Internet Service Providers.
It is a further object of the present invention to enable an Internet Service Provider to identify a caller""s class of service prior to answering the call.
It is a further object of the present invention to use the resources of a telephone service provider to route calls to an Internet Service Provider according to the caller""s class of service.
These and other objects of the present invention are described in detail in the description of the invention, the appended drawings and the attached claims.